#ifndef tp_debug_h
#define tp_debug_h

#include <stdio.h>
#include <stdarg.h>
#include <bolt.h>

#ifndef min
#define min(a,b) (((a)-(b) < 0) ? (a) : (b))
#endif  /* min */
#ifndef max
#define max(a,b) (((a)-(b) > 0) ? (a) : (b))
#endif  /* max */

#define SEQ_GEQ(a,b)    ((int)((a)-(b)) >= 0)
#define SEQ_LEQ(a,b)   ((int)((a)-(b)) <= 0)
#define SEQ_GT(a,b)    ((int)((a)-(b)) > 0)
#define SEQ_LT(a,b)    ((int)((a)-(b)) < 0)

void print_log(const char *fmt, ...);

#define LOG(fmt, ...)   \
  do {                  \
    if (cmd_in_debug()) \
      print_log("[%s-%d]"fmt, __func__, __LINE__, ##__VA_ARGS__);\
  } while(0)

int execute_command(const char *fmt, ...);

#endif 
